Virtualization
In computing, virtualization is the process of presenting a logical grouping or subset of computing resources so that they can be accessed in ways that give benefits over the original configuration. This new virtual view of the resources is not restricted by the implementation, geographic location or the physical configuration of underlying resources. Commonly virtualized resources include computing power and data storage. A new trend in virtualization is the concept of a virtualization engine which gives an overall holistic view of the entire network infrastructure by using the aggregation technique. Another popular kind of virtualization, and currently very referred to in the media, is the hardware virtualization for running more than one operating system at the same time, via nanokernels or Hardware Abstraction Layers, such as Xen. Types of virtualization Virtualization is a broad term that refers to the abstraction of resources in many different aspects of computing. As a perceived "hot term", virtualization has been claimed by IT marketers to refer to everything from virtual machines to systems management software, so as to become nearly meaningless. Some common applications of virtualization are listed below; this list reflects the extreme diversity that the term has come to encapsulate. Software virtualization *A virtual machine is an environment which appears to a "guest" operating system as hardware, but is simulated in a contained software environment by the host system. The simulation must be robust enough for hardware drivers in the guest system to work. The creation and management of virtual machines is often referred to as server virtualization. There are several approaches, including: *Emulation (or "full virtualization with dynamic recompilation") — the virtual machine simulates the complete hardware, allowing an unmodified OS for a completely different CPU to be run. (e.g. Bochs, PPC version of Virtual PC) *Paravirtualization; the virtual machine does not simulate hardware but instead offers a special API that requires OS modifications. (e.g. Xen) *Native virtualization and "full virtualization" — the virtual machine only partially simulates enough hardware to allow an unmodified OS to be run in isolation, but the guest OS must be designed for the same type of CPU. (e.g. VMware, Parallels Desktop) *Operating system-level virtualization; virtualizing a physical server at the operating system level, enabling multiple isolated and secure virtualized servers on a single physical server. The guest OS environments are the same OS as the host system, since the same OS kernel is used to implement the guest environments. Examples arLinux-VServer]], Virtuozzo and OpenVZ, Solaris Containers, and FreeBSD Jails. *Application Virtualization involves the running of a desktop or server application locally, using local resources, without being installed. A virtualized application runs in a small virtual environment that contains the registry entries, files, and other components that it needs to execute. This virtual environment acts as a layer between the application and the operating system, and eliminates application conflicts and application-OS conflicts. Resource virtualization *Aggregation, spanning, or concatenation all combine multiple resources into larger resources or resource pools. For example, redundant array of independent disks (aka RAID) and volume managers combine many disks into one large logical disk; RAIN and network equipment use multiple links combined to work as though they offered a single, higher-bandwidth link. At a meta-level, computer clusters also do all of this. *Partitioning is the splitting of a single, usually large resource (such as disk space or network bandwidth) into a number of smaller, more easily utilized resources of the same type. This is sometimes also called "zoning," especially in storage networks. Applications of Virtualization Server consolidation * Using virtualization technology (specifically the virtual machine) to consolidate many physical servers into fewer servers hosting virtual machines. The physical server is therefore 'transformed' into a virtual machine guest residing on a virtual machine host system. This is also known as Physical-to-Virtual or 'P2V'. Disaster recovery * Virtual machines can be used as "hot standby" environments for physical production servers. This changes the classical "backup-and-restore" philosophy by allowing for backup images to "boot" into live virtual machines that can take over workload for the production server that is experiencing an outage. See also * Emulation * Hypervisor * Physical-to-Virtual External links * What is virtualization? - ZDNet Whiteboard webcast about virtualization. * An introduction to Virtualization * Virtualization Faceted Wiki * [http://blogs.zdnet.com/BTL/?p=3389 - Virtualization re-inventing the data center from ZDNet] * [http://web.archive.org/20070102075421/news.com.com/2100-1007_3-6146189.html New Xen better for desktops] from C|Net * Blog with free tips and tricks'' A blog with free tips and tricks. Category:Concepts & Terms Category:Tools